//======================================
//文件名main.cpp
//g++ caller2.o caller1.o main.o -o a.out
void caller1();
void caller2();

int main()
{
    caller1();
    caller2();
    return 0;
}
// 输出：
//func1: 1
//func1 : 0.1
//func1 : 2
//func2 : 0.2
//编译器会根据函数名，函数参数类型一节模板参数值，来重命名，并判断是否有 模板实例等价，

//命名空间 解决了一些简单的函数重复，被覆盖的麻烦